<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/templates/masterLayout.xhtml">

	<ui:define name="title">
			TRASPASOS ENTRE BODEGAS
	</ui:define>

	<ui:define name="content">

		<p:growl id="mensajes" showDetail="true" life="7000" />

		<p:panel id="panel" header="LISTADO DE TRASPASOS"
			style="margin-bottom:10px;">

			<h:form id="formDataTable">
				<p:focus context="formDataTable" />
				<p:dataTable id="tablaTraspasos" var="traspaso"
					value="#{traspasoBodegaBean.listaTraspasos}" paginator="true"
					rows="10" styleClass="tablaBanco"
					emptyMessage="#{msg['lbl.mensajeTabla']}"
					paginatorPosition="bottom">

					<f:facet name="header">
						<h:form>
							<p:commandButton value="#{msg['btn.insertar']}"
								update=":formNuevo"
								oncomplete="PF('traspasoDialogoNuevo').show()" id="btnNuevo"
								icon="ui-icon-plus" styleClass="botonNuevo"
								actionListener="#{traspasoBodegaBean.limpiarObjetos}" />
						</h:form>
					</f:facet>

					<p:column headerText="#{msg['lbl.gestionar']}"
						styleClass="columnaCrud">
						<p:tooltip for="btnMostrar" value="MOSTRAR" />
						<p:commandButton id="btnMostrar" update=":formMostrar"
							oncomplete="PF('traspasoDialogoMostrar').show()"
							icon="ui-icon-newwin">
							<f:setPropertyActionListener value="#{traspaso}"
								target="#{traspasoBodegaBean.traspaso}" />
						</p:commandButton>
					</p:column>

					<p:column headerText="BODEGA ORIGEN"
						filterBy="#{traspaso.bodega1.nombre}" styleClass="columnaInfo">  
            			#{traspaso.bodega1.nombre}  
        			</p:column>

					<p:column headerText="BODEGA DESTINO"
						filterBy="#{traspaso.bodega2.nombre}" styleClass="columnaInfo">  
            			#{traspaso.bodega2.nombre}  
        			</p:column>

					<p:column headerText="DOCUMENTO"
						filterBy="#{traspaso.tipodocumento.nombre}"
						styleClass="columnaInfo">  
            			#{traspaso.tipodocumento.nombre}  
        			</p:column>

					<p:column headerText="N. DOCUMENTO"
						filterBy="#{traspaso.codigodocumento}" styleClass="columnaInfo">  
            			#{traspaso.codigodocumento}  
        			</p:column>

					<p:column headerText="FECHA" filterBy="#{traspaso.fecha}"
						styleClass="columnaInfo">  
            			#{traspaso.fecha}  
        			</p:column>

				</p:dataTable>
			</h:form>
		</p:panel>

		<p:dialog header="INSERTAR TRASPASO" widgetVar="traspasoDialogoNuevo"
			width="50%" resizable="false" modal="false" showEffect="clip"
			hideEffect="fold" id="dialogoNuevo">

			<h:form id="formNuevo">
				<p:focus context="formNuevo" />

				<h:panelGrid columns="2" cellpadding="1">
					<h:outputText value="CÓDIGO DOCUMENTO:" styleClass="negrita" />
					<p:inputText value="#{traspasoBodegaBean.traspaso.codigodocumento}"
						readonly="true" />

					<p:outputLabel value="BODEGA ORIGEN:" styleClass="negrita" />
					<p:selectOneMenu
						value="#{traspasoBodegaBean.bodegaOrigen.bodegaid}"
						styleClass="comboFormNuevo" required="true"
						requiredMessage="ESCOJA UN BODEGA ORIGEN">
						<f:selectItem id="comboBodegaOrigen"
							itemLabel="ESCOJA LA BODEGA ORIGEN" />
						<f:selectItems value="#{traspasoBodegaBean.listaBodegas}"
							var="bodegaOrigen" itemValue="#{bodegaOrigen.bodegaid}"
							itemLabel="#{bodegaOrigen.nombre}" />
					</p:selectOneMenu>

					<h:outputText style="font-weight: bold;" value="BODEGA DESTINO:"
						styleClass="negrita" />
					<p:selectOneMenu
						value="#{traspasoBodegaBean.bodegaDestino.bodegaid}"
						styleClass="comboFormNuevo" required="true"
						requiredMessage="ESCOJA UNA BODEGA DESTINO">
						<f:selectItem itemLabel="ESCOJA LA BODEGA DESTINO"
							id="comboBodegaDestino" />
						<f:selectItems value="#{traspasoBodegaBean.listaBodegas}"
							var="bodegaDestino" itemValue="#{bodegaDestino.bodegaid}"
							itemLabel="#{bodegaDestino.nombre}" />
					</p:selectOneMenu>
				</h:panelGrid>

				<p:dataTable id="tablaDetalleTraspasos" var="detalleTraspasos"
					value="#{traspasoBodegaBean.traspaso.detalletraspasos}"
					paginator="true" rows="5" emptyMessage="#{msg['lbl.mensajeTabla']}"
					paginatorPosition="bottom" editable="true" editMode="cell">

					<f:facet name="header">
						<p:commandButton id="btnNuevo" value="INSERTAR PRODUCTO"
							icon="ui-icon-plus"
							update=":formNuevo, :formDetalleTraspasoInsertar, :mensajes"
							oncomplete="mostrarDetalleTraspasoDialogoInsertar(xhr, status, args)" />
					</f:facet>

					<p:column headerText="#{msg['lbl.gestionar']}"
						style="text-align:center;width: 15px;">
						<p:commandButton id="btnEliminar" icon="#{msg['iconoEliminar']}"
							update=":formDetalleTraspasoEliminar"
							oncomplete="PF('detalleTraspasoDialogoEliminar').show()">
							<f:setPropertyActionListener value="#{detalleTraspasos}"
								target="#{traspasoBodegaBean.detalleTraspaso}" />
						</p:commandButton>
					</p:column>

					<p:column headerText="PRODUCTO" styleClass="columnaInfo"
						style="width:40%">  
            			#{detalleTraspasos.producto.nombreimprimir}  
        			</p:column>

					<p:column headerText="CANTIDAD" style="width:20%">
						<p:cellEditor>
							<f:facet name="output">
								<h:outputText value="#{detalleTraspasos.cantidad}" />
							</f:facet>
							<f:facet name="input">
								<p:inputText value="#{detalleTraspasos.cantidad}"
									style="width:96%" label="CANTIDAD" />
							</f:facet>
						</p:cellEditor>
					</p:column>
				</p:dataTable>

				<p:commandButton id="btnNuevoAceptar" value="TRASLADAR"
					style="position: relative;left: 115px;"
					oncomplete="cerrarTraspasoDialogoNuevo(xhr, status, args)"
					actionListener="#{traspasoBodegaBean.insertarTraspaso}"
					update=":formDataTable, :mensajes" icon="ui-icon-refresh" />
			</h:form>
		</p:dialog>

		<p:dialog widgetVar="detalleTraspasoDialogoInsertar" severity="alert"
			header="INSERTAR PRODUCTO A LA LISTA" showEffect="explode"
			hideEffect="explode" modal="false" resizable="false"
			style="text-align: center;" width="50%">

			<h:form>
				<h:outputText value="NOMBRE DEL PRODUCTO" />
				<p:inputText value="#{traspasoBodegaBean.nombreProducto}"
					onblur="this.value=this.value.toUpperCase();" required="true"
					requiredMessage="ESCRIBA EL CODIGO DE UN PRODUCTO" />

				<p:commandButton
					update=":formDetalleTraspasoInsertar:tablaProductos"
					icon="#{msg['iconoGuardar']}"
					actionListener="#{traspasoBodegaBean.obtenerProductos}" />
			</h:form>

			<h:form id="formDetalleTraspasoInsertar">

				<p:dataTable id="tablaProductos" var="producto"
					value="#{traspasoBodegaBean.listProductos}" paginator="true"
					rows="5" emptyMessage="#{msg['lbl.mensajeTabla']}"
					paginatorPosition="bottom" rowKey="#{producto.productoid}"
					selection="#{traspasoBodegaBean.producto}" selectionMode="single">

					<p:ajax event="rowSelect"
						listener="#{traspasoBodegaBean.obtenerProducto}" />

					<p:column headerText="EAN" style="text-align:center;">
							 	#{producto.ean}
						</p:column>

					<p:column headerText="NOMBRE" style="text-align:center;">
							 	#{producto.nombreimprimir}
						</p:column>

				</p:dataTable>

				<p:commandButton value="ACEPTAR" icon="ui-icon-check"
					update=":formNuevo, :mensajes"
					actionListener="#{traspasoBodegaBean.insertarDetalle}"
					oncomplete="cerrarDetalleTraspasoDialogoInsertar(xhr, status, args)" />
				<p:commandButton value="CANCELAR" icon="ui-icon-close"
					oncomplete="PF('detalleTraspasoDialogoInsertar').hide()" />
			</h:form>
		</p:dialog>

		<p:dialog widgetVar="detalleTraspasoDialogoEliminar" severity="alert"
			header="ELIMINAR PRODUCTO DE LA LISTA" showEffect="explode"
			hideEffect="explode" modal="false" resizable="false" width="300px"
			style="text-align: center;">
			<h:form id="formDetalleTraspasoEliminar">
				<br />
				<p:outputLabel value="¿ ESTA SEGURO DE ELIMINAR ESTE PRODUCTO ?" />
				<br />
				<br />
				<p:commandButton value="ACEPTAR" update=":formNuevo,:mensajes"
					icon="ui-icon-check"
					oncomplete="PF('detalleTraspasoDialogoEliminar').hide()"
					actionListener="#{traspasoBodegaBean.eliminarDetalleTraspaso}" />
				<p:commandButton value="CANCELAR" type="button"
					onclick="PF('detalleTraspasoDialogoEliminar').hide()"
					icon="ui-icon-close" />
			</h:form>
		</p:dialog>

		<p:dialog header="MOSTRAR TRASPASO" widgetVar="traspasoDialogoMostrar"
			width="50%" resizable="false" modal="false" showEffect="clip"
			hideEffect="fold" id="dialogoMostrar">
			<h:form id="formMostrar">

				<h:panelGrid id="panelMostrar" columns="2" cellpadding="5">
					<h:outputText value="BODEGA ORIGEN: " />
					<h:outputText value="#{traspasoBodegaBean.traspaso.bodega1.nombre}"
						style="font-weight:bold" />

					<h:outputText value="BODEGA DESTINO: " />
					<h:outputText value="#{traspasoBodegaBean.traspaso.bodega2.nombre}"
						style="font-weight:bold" />

					<h:outputText value="TIPO DOCUMENTO: " />
					<h:outputText
						value="#{traspasoBodegaBean.traspaso.tipodocumento.nombre}"
						style="font-weight:bold" />

					<h:outputText value="N. DOCUMENTO: " />
					<h:outputText
						value="#{traspasoBodegaBean.traspaso.codigodocumento}"
						style="font-weight:bold" />

					<h:outputText value="FECHA: " />
					<h:outputText value="#{traspasoBodegaBean.traspaso.fecha}"
						style="font-weight:bold" />
				</h:panelGrid>

				<p:dataTable id="tablaDetalleTraspaso" var="detalleTraspaso"
					value="#{traspasoBodegaBean.traspaso.detalletraspasos}"
					paginator="true" rows="5" emptyMessage="#{msg['lbl.mensajeTabla']}"
					paginatorPosition="bottom">
					<f:facet name="header">
						<h:outputText value="DETALLES" />
					</f:facet>
					<p:column headerText="PRODUCTO"
						style="text-align:center;width: 50px;" styleClass="columnaInfo">  
            			#{detalleTraspaso.producto.nombreimprimir}  
        			</p:column>

					<p:column headerText="CANTIDAD"
						style="text-align:center;width: 50px;" styleClass="columnaInfo">  
            			#{detalleTraspaso.cantidad}  
        			</p:column>
				</p:dataTable>
			</h:form>
		</p:dialog>

		<script type="text/javascript">
			//<![CDATA[
			function cerrarDetalleTraspasoDialogoInsertar(xhr, status, args) {
				if (args.cerrar) {
					PF('detalleTraspasoDialogoInsertar').hide();
				}
			}
			function mostrarDetalleTraspasoDialogoInsertar(xhr, status, args) {
				if (!args.validationFailed) {
					PF('detalleTraspasoDialogoInsertar').show()
				}
			}
			function cerrarTraspasoDialogoNuevo(xhr, status, args) {
				if (!args.validationFailed && args.cerrar) {
					PF('traspasoDialogoNuevo').hide();
				}
			}
			//]]>
		</script>

	</ui:define>

</ui:composition>
</html>